<?php
//by ralvear 20130901
class usuarioControlador extends Controlador{
	private $_usuarioDAO;
	private $_lstUsuarios = array();

	public function __construct ()
	{
		parent::__construct();
		$this->_usuarioDAO = $this->cargarModelo( "usuario" );
	}	

	public function index(){
		$this->_vista->titulo = "Listado de usuarios";
		$this->_vista->_lstUsuarios = $this->_usuarioDAO->escaneo();
		$this->_vista->render( "index", "usuario" );
	}

	public function valida( $metodo ){

		if( !$this->obtenerVentero( "usuari_id" ) ){
			$this->_vista->_error = "Error : *** Debe ingresar id.!<br />";
			$this->_vista->render( $metodo, "usuario" );
			exit;
		}

		if( !$this->obtenerVcadena( "usuari_nombre" ) ){
			$this->_vista->_error = "Error : *** Debe ingresar nombre.!<br />";
			$this->_vista->render( $metodo, "usuario" );
			exit;
		}

		if( !$this->obtenerVcadena( "usuari_contra" ) ){
			$this->_vista->_error = "Error : *** Debe ingresar clave.!<br />";
			$this->_vista->render( $metodo, "usuario" );
			exit;
		}

	}

	public function nuevo(){
		$this->_vista->titulo = "Nuevo usuario";
		$this->_vista->usuari_id = $this->obtenerVentero( "usuari_id" );
		$this->_vista->usuari_nombre = $this->obtenerVcadena( "usuari_nombre" );
		$this->_vista->usuari_contra = $this->obtenerVcadena( "usuari_contra" );


		if( $this->obtenerVentero( "almacenar" ) > 0 ){

			$vo_usuario = $this->_usuarioDAO->cargarVo( "usuario" );
			$vo_usuario->asignarId( $this->_vista->usuari_id );
			$vo_usuario->asignarNombre( $this->_vista->usuari_nombre );
			$vo_usuario->asignarContra( $this->_vista->usuari_contra );
			$vo_usuario->asignarAvatar( "avatar" . $this->_vista->usuari_nombre );
			$this->valida( "nuevo" );

			if($this->_usuarioDAO->almacenar( $vo_usuario ) > 0){
				$this->redireccionar( "usuario" );
			}else{
				$this->_vista->_error = "Error : al almecenar usuario.<br />";
				$this->_vista->render( "nuevo", "usuario" );
				exit;
			}
		}
	
		$this->_vista->usuari_id = $this->obtenerVentero( "usuari_id" );
		$this->_vista->usuari_nombre = $this->obtenerVcadena( "usuari_nombre" );
		$this->_vista->usuari_contra = $this->obtenerVcadena( "usuari_contra" );
		$this->_vista->render( "nuevo", "usuario" );
	}

	public function edita( $usuari_id )
	{

		if( !$this->filtrarEntero( $usuari_id ) ){
			$this->redireccionar( "usuario" );
		}else{
			$usuari_id = $this->filtrarEntero( $usuari_id );
		}

		$vo_usuario = $this->_usuarioDAO->cargarxId( $usuari_id );

		if( $vo_usuario->obtenerId() == 0 ){
			$this->redireccionar( "usuario" );
		}

		if( $this->obtenerVentero( "editar" ) > 0 ){


			$this->_vista->usuari_id = $this->obtenerVentero( "usuari_id" );
			$this->_vista->usuari_id_ = $this->obtenerVentero( "usuari_id_" );
			$this->_vista->usuari_nombre = $this->obtenerVcadena( "usuari_nombre" );
			$this->_vista->usuari_contra = $this->obtenerVcadena( "usuari_contra" );

			$vo_usuario->asignarId( $this->_vista->usuari_id );
			$vo_usuario->asignarNombre( $this->_vista->usuari_nombre );
			$vo_usuario->asignarContra( $this->_vista->usuari_contra );
			$vo_usuario->asignarAvatar( "avatar" . $this->_vista->usuari_nombre );
			
			if($this->_usuarioDAO->actualizar( $vo_usuario, $this->_vista->usuari_id_ ) > 0 ){
				$this->redireccionar( "usuario" );
			}else{
				$this->_vista->_error = "Error : al actualizar usuario.<br />";
				$this->_vista->render( "edita", "usuario" );
				exit;
			}

		}

		$this->_vista->usuari_id = $vo_usuario->obtenerId();
		$this->_vista->usuari_id_ = $vo_usuario->obtenerId();
		$this->_vista->usuari_nombre = $vo_usuario->obtenerNombre();
		$this->_vista->usuari_contra = $vo_usuario->obtenerContra();
		$this->_vista->render( "edita", "usuario" );


	}

	public function borra( $usuari_id ){

		if( !$this->filtrarEntero( $usuari_id ) ){
			$this->redireccionar( "usuario" );
		}else{
			$usuari_id = $this->filtrarEntero( $usuari_id );
		}

		$vo_usuario = $this->_usuarioDAO->cargarxId( $usuari_id );

		if( $vo_usuario->obtenerId() == 0 ){
			$this->redireccionar( "usuario" );
		}

		if($this->_usuarioDAO->eliminar( $vo_usuario->obtenerId() ) > 0){
			$this->redireccionar( "usuario" );
		}else{
			$this->_vista->_error = "Error : al borrar usuario.<br />";
			$this->_vista->render( "index", "usuario" );
			exit;
		}

	}

}

?>